﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Drawing.Drawing2D;

namespace Qiang.Styles
{
    public abstract class PolygonStyle : Style,IPolygonStyle
    {



        #region 属性


        bool _useOutLine;

        /// <summary>
        /// 是否使用外轮廓线。
        /// </summary>
        public bool UseOutLine
        {
            get { return _useOutLine; }
            set { _useOutLine = value; }
        }


        ILineStyle _outLineStyle;

        /// <summary>
        /// 轮廓线样式。
        /// </summary>
        public ILineStyle OutLineStyle
        {
            get { return _outLineStyle; }
            set { _outLineStyle = value; }
        }

        /// <summary>
        /// 样式类型。
        /// </summary>
        public abstract PolygonStyleType StyleType { get; }



        #endregion


        #region 方法

        /// <summary>
        /// 
        /// </summary>
        /// <param name="g"></param>
        /// <param name="path"></param>
        public virtual void FillPath(Graphics g, GraphicsPath path)
        { 
        }


        public virtual void FillRegion(Graphics g, Region region)
        { 
        }


        public virtual Brush ToBrush()
        {
            return null;
        }


        #endregion

    }
}
